#ifndef _COLLECTFORUMAL_H_
#define _COLLECTFORUMAL_H_
#include "MgrBase.h"
#include "SimpleRefection.h"
class CollectFormulaDef:public ReflectionBase
{
	DECL_REFLECTION(CollectFormulaDef,"../../config/CollectForumal.xml");
public:
	int32			m_iID;
	std::string		m_sDisplayName;
	int32			m_iOrder;
	int32			m_iResultCardType;
	int32			m_iResultHeroType;

	int32			m_iCardType0;
	int32			m_iHeroType0;

	int32			m_iCardType1;
	int32			m_iHeroType1;

	int32			m_iCardType2;
	int32			m_iHeroType2;

	int32			m_iCardType3;
	int32			m_iHeroType3;

	int32			m_iCardType4;
	int32			m_iHeroType4;
	
	rewrite virtual void OnArchieveReaded();
	const CollectFormula& GetFormula() const{ return m_Forumal;	}

	const CollectFormulaDef * m_pNextFormula;
private:
	CollectFormula m_Forumal;
};

typedef DefMangerTpl<CollectFormulaDef> __CollectForumalManager; //eDefaultDef_Num
class CollectForumalManager:public __CollectForumalManager
{
public:
	static CollectForumalManager& Instance(){static CollectForumalManager _instance;return _instance;	}
	const CollectFormulaDef * FirstFormula() const { return m_pFirstFormula;}
	virtual void OnArchieveReaded();
private:
	CollectForumalManager(){}
	const CollectFormulaDef * m_pFirstFormula;
};

#endif
/////////////////////////////////////////
